/**
 * 模型路径
 */
export class ModelPaths {
    /**
     * 禁止创建对象
     */
    private constructor() {
    }

    /**
     * 模型根目录
     */
    private static MODEL_DIR = "prefab/model/";

    /**
     * 获取模型路径
     *
     * @param name 模型名称
     */
    private static getModel(name: string): string {
        return this.MODEL_DIR + name;
    }

    /**
     * dragon
     */
    public static get dragon(): string {
        return this.getModel("boss/dragon");
    }

    /**
     * gold
     */
    public static get gold(): string {
        return this.getModel("gold/gold");
    }

    /**
     * heart
     */
    public static get heart(): string {
        return this.getModel("heart/heart");
    }

    /**
     * heart
     */
    public static get heartBig(): string {
        return this.getModel("heart/heartBig");
    }

    /**
     * aula
     */
    public static get aula(): string {
        return this.getModel("monster/aula");
    }

    /**
     * boomDragon
     */
    public static get boomDragon(): string {
        return this.getModel("monster/boomDragon");
    }

    /**
     * hellFire
     */
    public static get hellFire(): string {
        return this.getModel("monster/hellFire");
    }

    /**
     * magician
     */
    public static get magician(): string {
        return this.getModel("monster/magician");
    }

    /**
     * businessMan
     */
    public static get businessMan(): string {
        return this.getModel("npc/businessMan");
    }

    /**
     * wiseMan
     */
    public static get wiseMan(): string {
        return this.getModel("npc/wiseMan");
    }

    /**
     * anObstacle
     */
    public static get anObstacle(): string {
        return this.getModel("obstacle/anObstacle");
    }

    /**
     * anObstacle01
     */
    public static get anObstacle01(): string {
        return this.getModel("obstacle/anObstacle01");
    }

    /**
     * anObstacle02
     */
    public static get anObstacle02(): string {
        return this.getModel("obstacle/anObstacle02");
    }

    /**
     * player
     */
    public static get player(): string {
        return this.getModel("player/player01");
    }

    /**
     * an
     */
    public static get an(): string {
        return this.getModel("scene/an");
    }

    /**
     * anS
     */
    public static get sceneAnS(): string {
        return this.getModel("scene/anS");
    }

    /**
     * warpGate
     */
    public static get warpGate(): string {
        return this.getModel("warpGate/warpGate");
    }

    /**
     * arrowDouble
     */
    public static get arrowDouble(): string {
        return this.getModel("weapon/arrow/arrowDouble");
    }

    /**
     * arrowDoubleContinuous
     */
    public static get arrowDoubleContinuous(): string {
        return this.getModel("weapon/arrow/arrowDoubleContinuous");
    }

    /**
     * arrowItem
     */
    public static get arrowItem(): string {
        return this.getModel("weapon/arrow/arrowItem");
    }

    /**
     * arrowReverse
     */
    public static get arrowReverse(): string {
        return this.getModel("weapon/arrow/arrowReverse");
    }

    /**
     * arrowSide
     */
    public static get arrowSide(): string {
        return this.getModel("weapon/arrow/arrowSide");
    }

    /**
     * arrowSingle
     */
    public static get arrowSingle(): string {
        return this.getModel("weapon/arrow/arrowSingle");
    }

    /**
     * arrowSingleContinuous
     */
    public static get arrowSingleContinuous(): string {
        return this.getModel("weapon/arrow/arrowSingleContinuous");
    }

    /**
     * arrowUmbrella
     */
    public static get arrowUmbrella(): string {
        return this.getModel("weapon/arrow/arrowUmbrella");
    }
}